use std::env;
use std::process::Command;

use insta_cmd::{assert_cmd_snapshot, get_cargo_bin};

fn cli() -> Command {
    Command::new(get_cargo_bin("compiler"))
}

#[test]
fn test_00_arr_defn2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/00_arr_defn2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_00_main() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/00_main.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_01_var_defn() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/01_var_defn.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_02_arr_defn4() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/02_arr_defn4.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_02_var_defn2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/02_var_defn2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_03_arr_defn() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/03_arr_defn.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_03_var_defn2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/03_var_defn2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_04_const_defn() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/04_const_defn.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_04_func_defn() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/04_func_defn.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_05_add() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/05_add.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_05_const_array_defn() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/05_const_array_defn.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_06_mod() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/06_mod.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_06_var_defn_func() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/06_var_defn_func.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_07_comment1() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/07_comment1.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_07_return_var() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/07_return_var.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_08_arr_assign() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/08_arr_assign.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_08_comment2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/08_comment2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_09_if() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/09_if.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_09_void_func() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/09_void_func.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_10_break() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/10_break.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_10_great_test_0() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/10_great_test_0.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_10_if_else() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/10_if_else.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_11_continue() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/11_continue.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_11_while() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/11_while.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_12_array_traverse() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/12_array_traverse.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_12_getint() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/12_getint.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_13_and() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/13_and.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_13_array_traverse2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/13_array_traverse2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_14_or() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/14_or.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_15_array_test3() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/15_array_test3.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_15_equal() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/15_equal.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_16_greater_eq() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/16_greater_eq.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_16_nequal() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/16_nequal.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_17_less() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/17_less.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_17_less_eq() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/17_less_eq.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_18_cal_prio() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/18_cal_prio.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_19_neg_expr() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/19_neg_expr.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_20_arr_sum() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/20_arr_sum.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_20_great_test_1() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/20_great_test_1.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_21_suminput() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/21_suminput.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_22_if_test1() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/22_if_test1.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_23_if_test2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/23_if_test2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_24_if_test3() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/24_if_test3.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_25_if_test4() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/25_if_test4.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_26_if_test5() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/26_if_test5.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_27_while_test1() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/27_while_test1.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_28_while_test2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/28_while_test2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_29_while_test3() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/29_while_test3.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_30_great_test_2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/30_great_test_2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_30_while_if_test1() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/30_while_if_test1.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_31_while_if_test2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/31_while_if_test2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_32_while_if_test3() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/32_while_if_test3.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_33_func_test1() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/33_func_test1.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_34_func_test2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/34_func_test2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_35_array_test() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/35_array_test.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_36_domain_test() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/36_domain_test.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_38_if_complex_expr() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/38_if_complex_expr.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_39_assign_complex_expr() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/39_assign_complex_expr.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_40_index_complex_expr() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/40_index_complex_expr.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_41_great_test_3() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/41_great_test_3.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_41_index_arithmetic_expr() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/41_index_arithmetic_expr.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_42_index_func_ret() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/42_index_func_ret.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_43_time_prior_plus() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/43_time_prior_plus.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_44_add_prior_equal() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/44_add_prior_equal.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_45_equal_prior_logic() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/45_equal_prior_logic.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_46_and_prior_or() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/46_and_prior_or.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_47_minus_with_sub() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/47_minus_with_sub.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_49_decl_in_defn() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/49_decl_in_defn.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_50_recursion_test1() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/50_recursion_test1.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_51_recursion_test2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/51_recursion_test2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_52_great_test_4() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/52_great_test_4.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_52_recursion_test3() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/52_recursion_test3.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_53_sort_test1() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/53_sort_test1.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_54_sort_test2() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/54_sort_test2.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_55_sort_test3() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/55_sort_test3.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_56_sort_test4() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/56_sort_test4.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_57_sort_test5() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/57_sort_test5.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_58_sort_test6() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/58_sort_test6.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_59_sort_test7() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/59_sort_test7.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_60_while_fibonacci() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/60_while_fibonacci.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_61_rec_fibonacci() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/61_rec_fibonacci.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_62_long_code() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/62_long_code.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_63_simple_atoi() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/63_simple_atoi.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_64_alpha_count() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/64_alpha_count.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_64_great_test_5() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/64_great_test_5.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_65_word_count() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/65_word_count.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_66_go_upstairs() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/66_go_upstairs.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_67_remove_duplicate_element() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/67_remove_duplicate_element.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_68_accumulate() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/68_accumulate.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_69_last_word_length() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/69_last_word_length.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_70_multi() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/70_multi.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_71_max_subsequence_sum() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/71_max_subsequence_sum.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_72_enum() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/72_enum.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_73_exchange_value() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/73_exchange_value.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_74_itera_sqrt() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/74_itera_sqrt.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_75_great_test_6() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/75_great_test_6.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_75_max_container() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/75_max_container.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_76_int_factor_sum() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/76_int_factor_sum.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_77_unique_path() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/77_unique_path.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_78_decbinoct() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/78_decbinoct.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_79_gcd() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/79_gcd.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_80_lcm() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/80_lcm.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_81_jump_game() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/81_jump_game.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_82_great_test_7() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/82_great_test_7.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_82_int_split() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/82_int_split.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_83_enc_dec() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/83_enc_dec.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_84_palindrome_number() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/84_palindrome_number.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_86_bin_search() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/86_bin_search.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_88_array_concat() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/88_array_concat.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_90_insert_order() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/90_insert_order.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_91_line_search() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/91_line_search.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_92_matrix_add() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/92_matrix_add.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_93_matrix_sub() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/93_matrix_sub.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_94_matrix_mul() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/94_matrix_mul.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_95_matrix_tran() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/95_matrix_tran.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_96_many_param_call() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/96_many_param_call.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_97_many_global_var() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/97_many_global_var.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_98_many_local_var() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/98_many_local_var.sy")
            .env("RUST_LOG", "INFO")
    );
}

#[test]
fn test_99_register_realloc() {
    assert_cmd_snapshot!(
        cli()
            .arg("src/test/functional_test/99_register_realloc.sy")
            .env("RUST_LOG", "INFO")
    );
}
